package org.hard.model.create.builder;

import org.hard.model.create.builder.product.Car;
import org.hard.model.create.builder.product.Manual;

/**
 * @author: 王林博
 * @date: 2023年02月10日 15:16
 */
public class CarManualBuilder implements Builder{

    Manual manual;
    // 一个新的生成器实例必须包含一个在后续组装过程中使用的空产品对象。
    CarManualBuilder() {
        this.reset();
    }

    // reset（重置）方法可清除正在生成的对象。
    @Override
    public void reset() {
        this.manual = new Manual();
    }

    // 所有生成步骤都会与同一个产品实例进行交互。
    @Override
    public void setSeats(String str) {
// 设置汽车座位的数量。
        this.manual.setStr(str);
    }

    @Override
    public void setEngine() {
// 安装指定的引擎。
    }

    @Override
    public void setTripComputer() {
// 安装行车电脑。
    }

    @Override
    public void setGPS() {
// 安装全球定位系统。
    }

    Manual getProduct() {
        Manual product = this.manual;
        this.reset();
        return product;

    }
}
